﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ShivamEMR.Model.Domain;
using ShivamEMR.Model.Domain.CompanyDomain;
using ShivamEMR.Model.Domain.PersonDomain;
using System.ComponentModel.DataAnnotations;


namespace ShivamEMR.Model.Domain.PatientDomain
{
   
   public class Patient : Person
    {
           [DataType(DataType.Date)]
        public DateTime RegistrationDate { get; set; }

        #region ForeignKeyProperties
        [ForeignKey("RegisteredInBranch")]
        public int RegisteredInBranchID { get; set; } 
        #endregion

        #region NavigationalProperties
        public virtual Branch RegisteredInBranch { get; set; }
        public virtual ICollection<PatientGroup> PatientGroups { get; set; }
        public virtual ICollection<PatientInformation> PatientInformations { get; set; }
        public virtual ICollection<PatientTreatment> Treatments { get; set; }
        public virtual ICollection<Consultation> Consultations { get; set; }
        public virtual ICollection<Admission> Admissions { get; set; }
        public virtual ICollection<Diagnosis> Diagnostics { get; set; }
        public virtual ICollection<PatientTest> Tests { get; set; }
        public virtual ICollection<PatientRepresentative> Representatives { get; set; }
        public virtual ICollection<Insurance> Insurances { get; set; }
        #endregion

    }
}
